import * as React from "react" import { type SearchParams } from "@/types/table" import { getValidFilters } from "@/lib/data-table" import { Skeleton } from "@/components/ui/skeleton" import { DataTableSkeleton } from "@/components/data-table/data-table-skeleton" import { Shell } from "@/components/shell" import { getServerSession } from "next-auth" import { authOptions } from "@/app/api/auth/[...nextauth]/route" import Link from "next/link" import { Button } from "@/components/ui/button" import { LogIn } from "lucide-react" import { searchParamsCache } from "@/lib/welding/validation" import { getOcrRows } from "@/lib/welding/service" import { OcrTable } from "@/lib/welding/table/ocr-table" interface IndexPageProps { searchParams: Promise } export default async function IndexPage(props: IndexPageProps) { const searchParams = await props.searchParams const search = searchParamsCache.parse(searchParams) const validFilters = getValidFilters(search.filters) // Get session const session = await getServerSession(authOptions) // Check if user is logged in if (!session || !session.user) { // Return login required UI instead of redirecting return (

Welding OCR

PDF 파일을 업로드하면 테이블에 값이 삽입됩니다.

로그인이 필요합니다

OCR을 사용하려면 먼저 로그인하세요.

) } // User is logged in, proceed with vendor ID const vendorId = session.user.companyId // Validate vendorId (should be a number) const idAsNumber = Number(vendorId) if (isNaN(idAsNumber)) { // Handle invalid vendor ID (this shouldn't happen if authentication is working properly) return (

Welding OCR

계정 오류

업체 정보가 올바르게 설정되지 않았습니다. 관리자에게 문의하세요.

) } // If we got here, we have a valid vendor ID const promises = Promise.all([ getOcrRows({ ...search, filters: validFilters, }) ]) return (

Welding OCR

PDF 파일을 업로드하면 테이블에 값이 삽입됩니다.

}> {/* DateRangePicker can go here */} } >
) }